import Dexie from 'dexie';

class DexieWrap {
    static db

    static initDB() {
        // 创建/打开数据库
        DexieWrap.db = new Dexie("MyDatabase");

        // 定义数据库版本和表结构
        DexieWrap.db.version(1).stores({
            store: "++id, value", // ++id表示自增主键
        });
    }


    // 添加数据
    static async set(id, value) {
        const data = await this.get(id); // 查询
        data && await this.delete(id);
        await DexieWrap.db.store.add({
            id, value
        });
    }

    // 查询数据
    static async get(id) {
        const data = await DexieWrap.db.store.get(id);
        return data?.value;
    }

    // 更新数据
    static async update(id, updates) {
        await DexieWrap.db.store.update(id, updates);
    }

    // 删除数据
    static async delete(id) {
        await DexieWrap.db.store.delete(id);
    }
}


export default DexieWrap;